package com.linkwechat.common.compoment;

import org.springframework.web.multipart.MultipartFile;


import java.io.InputStream;

/**
 * 对象存储服务，用来实现接口来oss的接入，可以是cos。阿里oss、自建minio等
 */
public interface IOSSService {
    /**
     *
     * @param fileNameRelative 相对名字
     * @return 附件的完整url
     */
    String url(String fileNameRelative);

    /**
     * 上传到对象存储中，并返回上传成功的相对文件名
     * @param file 文件对象
     * @return 上传成功的相对文件名
     * @throws Exception 抛出异常
     */
    String upload2oss(MultipartFile file) throws Exception;

    /**
     *
     * @param in 输入流
     * @param filename 文件名含扩展
     * @return 上传成功的相对文件名
     * @throws Exception 抛出异常
     */
    String upload2oss(InputStream in,String filename) throws Exception;

}
